package com.example.algorithm.LinkedListAlgorithm;


import org.assertj.core.util.Sets;

import java.util.Set;

/**
 * 链表中环的检测--集合的思路
 * set 遍历一遍放入到set里面,判断set里面存着吗 存着过说明有重合 即又环;
 * Created by ZMJ on 2020/1/10.
 */
public class LinkedHaveRingBySet {

    // 保存足迹信息
    private static Set<Node> nodeSet = Sets.newHashSet();

    // 判断当前的节点是否存在,如果存在就是又环;
    public static boolean isHaveRing(Node head) {
        while (head != null) {
            if (nodeSet.contains(head)) {
                return true;
            }
            nodeSet.add(head);
            head = head.getNext();
        }

        return false;
    }

}


